<script>
import {useUserStore} from '@/store/user';
export default {
    globalData: {
		// baseUrl:'http://xiaopiqiu2.natapp1.cc',
		baseUrl:'https://test-java.changepro.vip:8080',
		// #ifdef H5
		baseUrl:'',
		// #endif
		httpSuccessCodes:[200], // http请求成功的状态码（必须是数组）
        // 防重复处理标志
		isHandlingKickOut: false,
        setHeader(url,auth,formData) {
            //也可以根据url的不同，动态设置header
            let header = {
                'content-type': 'application/x-www-form-urlencoded'
            };
            return header
        },
        // 处理请求数据，自动添加accessToken到form data中
        processRequestData(data, auth = true) {
            // 如果不需要鉴权，直接返回原数据
            if (!auth) {
                return data;
            }
            // 获取用户token
            const userToken = this.getUserToken();
            if (!userToken) {
                return data;
            }
            // 如果data为空，创建新对象
            if (!data) {
                return { accessToken: userToken };
            }
            // 如果data是对象，添加accessToken字段
            if (typeof data === 'object' && data !== null) {
                // 创建新对象，避免修改原对象
                const processedData = { ...data };
                // 只有在没有accessToken字段时才添加，避免覆盖用户自定义的token
                processedData.accessToken = userToken;
                return processedData;
            }
            // 如果data是字符串（form-urlencoded格式）
            if (typeof data === 'string') {
                // 检查是否已经包含accessToken
                if (data.includes('accessToken=')) {
                    return data;
                }
                // 添加accessToken参数
                const separator = data ? '&' : '';
                return data + separator + `accessToken=${encodeURIComponent(userToken)}`;
            }
            // 其他情况直接返回原数据
            return data;
        },
        // 获取用户token的方法
        getUserToken() {
            try {
                // 如果globalData没有，从本地存储获取
				const userStore = useUserStore();
                if (userStore && userStore.token) {
                    // 同时更新globalData中的token
                    return userStore.token;
                }
                
                return null;
            } catch (error) {
                return null;
            }
        },
		systemError(res) {
			// 处理业务错误码
			if (res.code !== 0) {
				uni.showToast({
					title: res.message,
					icon: 'none',
					duration: 2500
				});
			}
			if(res.message =='账号已在其他设备登录，请重新登录'){
				const userStore = useUserStore();
				userStore.logout();
				uni.reLaunch({
					url: '/pagesA/view/login/index'
				})
			}
		},
    },
    onLaunch: function () {
		console.log('App Launch');
		// #ifdef MP-WEIXIN
		const userStore = useUserStore();
		const windowWidth = wx.getSystemInfoSync().windowWidth
		const windowHeight = wx.getSystemInfoSync().windowHeight
		const barTop = wx.getSystemInfoSync().statusBarHeight
		const menuTop = wx.getMenuButtonBoundingClientRect().top;
		const menuHeight = wx.getMenuButtonBoundingClientRect().height;
		let info = {
			'statusBarHeight': barTop,
			'menuTop': menuTop,
			'menuHeight': menuHeight,
			'windowHeight': windowHeight,
			'windowWidth': windowWidth
		}
		userStore.$patch({
		  vuex_sys: info,
		})
		// #endif
    },
    onShow: function () {
        console.log('App Show');
    },
    onHide: function () {
        console.log('App Hide');
    },
    methods: {
    }
};
</script>

<style>
/*每个页面公共css */
   .uni-scroll-view ::-webkit-scrollbar {
	 /* 隐藏滚动条，但依旧具备可以滚动的功能 */
	 display: none;
	 width: 0;
	 height: 0;
	 color: transparent;
	 background: transparent;
	}
	::-webkit-scrollbar {
	 display: none;
	 width: 0;
	 height: 0;
	 color: transparent;
	 background: transparent;
	}
	view {
		word-break: break-all !important;
	}

	text {
		word-break: break-all !important;
	}
	.flx{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.flxB{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
	}
	.uni-tabbar-border{
		background-color:rgba(0, 0, 0, 0.1) !important;
	}
	/* 一行超出... */
	.line1{
		display: -webkit-box;
		-webkit-line-clamp: 1;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: normal;
	}
	/* 一行超出... */
	.line2{
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: normal;
	}
</style>

